package com.itheima.controller;

import com.itheima.pojo.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.UUID;

@Slf4j
@RestController
public class UploadController {
    @PostMapping("/upload")
    public Result upload(String name, Integer age, MultipartFile file) throws IOException {

/* 前端上传的图片如果不保存则是转瞬即逝的，关掉服务后就没有了，所以我们必须要学会在本地保存文件*/
    //获取文件名称
    String originalfilename=file.getOriginalFilename();
/*   如果两张图片的名字是一样的后台会出现覆盖，怎么办呢？*/
    /*这里就涉及到我们在java中基本的两个方法的使用
        * 1.substring截取字符串
        * 2.lastIndexOf确定一个字符串中最后一个元素出现的位置
      我们基于UUID创建了一个新的文件名来处理上传的文件*/
    String extention=originalfilename.substring(originalfilename.lastIndexOf("."));
    String newfilename= UUID.randomUUID().toString()+extention;
    //确定保存路径
//        默认上传大小是1MB超出范围无法上传，需要在yml配置文件中操作
    file.transferTo(new File("D:/imageTest/"+newfilename));
        return Result.success();
    }
}
